package cn.yu_lu.utils;

import java.util.Collection;
import java.util.Map;

/**
 * 数据判断工具类
 * @author zhang
 *
 */
public class JudgeUtil {

	/**
	 * 判断指定的字符串为空或空白字符串
	 * @param str 待判断字符串
	 * @return 字符串为空或空白字符串时返回true,否则返回false
	 */
	public static boolean isBlank(String str){
		return (str==null||"".equals(str.trim()))?true:false;
	}
	
	/**
	 * 判断传入的多个字符串中是否包含空白字符串
	 * @param strings 待判断字符串
	 * @return	含有空白字符串时返回true,否则返回false
	 */
	public static boolean hasBlank(String... strings){
		if(strings==null) return true;
		for(int i=0;i<strings.length;i++){
			if(isBlank(strings[i])) return true;
		}
		return false;
	}
	
	/**
	 * 判断数组是否为空
	 * @param data 待判断数组
	 * @return 当数组对象为null或数组长度为0时返回true,否则返回false
	 */
	public static <T> boolean isBlank(T[] data){
		if(data==null||data.length==0) return true;
		return false;
	}
	
	/**
	 * 判断map对象是否为空
	 * @param map 待判断map
	 * @return 当map对象为null或不包含键值对时返回true，否则返回false
	 */
	public static boolean isBlank(Map<?,?> map){
		if(map==null||map.isEmpty()) return true;
		return false;
	}
	
	/**
	 * 判断集合对象是否为空
	 * @param collection 待判断集合对象
	 * @return 当集合对象为null或不包含值时返回true,否则返回false
	 */
	public static boolean isBlank(Collection<?> collection){
		if(collection==null||collection.isEmpty()) return true;
		return false;
	}
}
